﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sahit.iSoilHotel.Application.MainBoundedContext.DTO.AuthenticationAgg;

namespace Sahit.iSoilHotel.Application.MainBoundedContext.Tavern.Interfaces
{
    public interface IPermissionService
    {
        void DeletePermission(PermissionDTO permission);
        PermissionDTO GetPermissionById(Guid permissionId);
        PermissionDTO GetPermissionBySystemName(string systemName);
        IList<PermissionDTO> GetAllPermissions();
        void InsertPermission(PermissionDTO permission);
        void UpdatePermission(PermissionDTO permission);
        bool Authorize(PermissionDTO permission);
        bool Authorize(PermissionDTO permission, AccountDTO account);
        bool Authorize(string permissionSystemName);
        bool Authorize(string permissionSystemName, AccountDTO account);
    }
}
